package com.lfs.market.service;

import cn.dev33.satoken.stp.SaTokenInfo;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.lfs.market.model.R;
import com.lfs.market.model.dto.SystemUserDto;
import com.lfs.market.model.dto.SystemUserLoginDto;
import com.lfs.market.model.dto.SystemUserPageDto;
import com.lfs.market.model.entity.SystemRole;
import com.lfs.market.model.entity.SystemUser;

import java.util.List;


public interface SystemUserService extends IService<SystemUser> {
    /**
     * 登录
     *
     * @param request
     * @return
     */
    SaTokenInfo login(SystemUserLoginDto request);

    R<SystemUser> getUserInfo();

    Page getUserPageList(SystemUserPageDto userPageDto);

    /**
     * 管理员创建用户
     *
     * @param dto
     */
    void systemCreateUser(SystemUserDto dto);

    /**
     * 管理员修改管理员用户
     *
     * @param dto
     */
    void systemUpdateUser(SystemUserDto dto);

    /**
     * 注册
     *
     * @param request
     * @return
     */
    SaTokenInfo register(SystemUserLoginDto request);


    /**
     * 查询角色列表
     *
     * @return
     */
    List<SystemRole> getRoleList();
}
